/*           Copyright(c) 2005-2008 Dave Sexton            *
 *                   HtmlEditor Control                    *
 * http://www.codeplex.com/DocProject/Project/License.aspx *
 ***********************************************************/
using System;
using System.Collections.Generic;
using System.Text;
using mshtml;

namespace DaveSexton.Controls
{
	public enum HtmlCommandIdentifier
	{
		/// <summary>
		/// Indicates that the <see cref="HtmlCommand" /> does not represent one of the predefined command identifiers.
		/// </summary>
		None, 

		#region Scripting
		/// <summary>
		/// Allows absolutely positioned elements to be moved by dragging.
		/// </summary>
		Position2D, 
		/// <summary>
		/// Sets an element's position property to "absolute."
		/// </summary>
		AbsolutePosition,
		/// <summary>
		/// Sets or retrieves the background color of the current selection.
		/// </summary>
		BackColor,
		/// <summary>
		/// Not currently supported.
		/// </summary>
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "LTR")]
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased", MessageId = "Member")]
		BlockDirLTR,
		/// <summary>
		/// Not currently supported.
		/// </summary>
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "RTL")]
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased", MessageId = "Member")]
		BlockDirRTL,
		/// <summary>
		/// Toggles the current selection between bold and nonbold.
		/// </summary>
		Bold,
		/// <summary>
		/// Not currently supported.
		/// </summary>
		BrowseMode,
		/// <summary>
		/// Clears all authentication credentials from the cache. Applies only to execCommand.
		/// </summary>
		ClearAuthenticationCache,
		/// <summary>
		/// Copies the current selection to the clipboard.
		/// </summary>
		Copy,
		/// <summary>
		/// Creates a bookmark anchor or retrieves the name of a bookmark anchor for the current selection or insertion point.
		/// </summary>
		CreateBookmark,
		/// <summary>
		/// Inserts a hyperlink on the current selection, or displays a dialog box enabling the user to specify a URL to insert as a hyperlink on the current selection.
		/// </summary>
		CreateLink,
		/// <summary>
		/// Copies the current selection to the clipboard and then deletes it.
		/// </summary>
		Cut,
		/// <summary>
		/// Deletes the current selection.
		/// </summary>
		Delete,
		/// <summary>
		/// Not currently supported.
		/// </summary>
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "LTR")]
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased", MessageId = "Member")]
		DirLTR,
		/// <summary>
		/// Not currently supported.
		/// </summary>
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "RTL")]
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased", MessageId = "Member")]
		DirRTL,
		/// <summary>
		/// Not currently supported.
		/// </summary>
		EditMode,
		/// <summary>
		/// Sets or retrieves the font for the current selection.
		/// </summary>
		FontName,
		/// <summary>
		/// Sets or retrieves the font size for the current selection.
		/// </summary>
		FontSize,
		/// <summary>
		/// Sets or retrieves the foreground (text) color of the current selection.
		/// </summary>
		ForeColor,
		/// <summary>
		/// Sets the current block format tag.
		/// </summary>
		FormatBlock,
		/// <summary>
		/// Increases the indent of the selected text by one indentation increment.
		/// </summary>
		Indent,
		/// <summary>
		/// Not currently supported.
		/// </summary>
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "LTR")]
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased", MessageId = "Member")]
		InlineDirLTR,
		/// <summary>
		/// Not currently supported.
		/// </summary>
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "RTL")]
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased", MessageId = "Member")]
		InlineDirRTL,
		/// <summary>
		/// Overwrites a button control on the text selection.
		/// </summary>
		InsertButton,
		/// <summary>
		/// Overwrites a box on the text selection.
		/// </summary>
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Fieldset")]
		InsertFieldset,
		/// <summary>
		/// Overwrites a horizontal line on the text selection.
		/// </summary>
		InsertHorizontalRule,
		/// <summary>
		/// Overwrites an inline frame on the text selection.
		/// </summary>
		InsertIFrame,
		/// <summary>
		/// Overwrites an image on the text selection.
		/// </summary>
		InsertImage,
		/// <summary>
		/// Overwrites a button control on the text selection.
		/// </summary>
		InsertInputButton,
		/// <summary>
		/// Overwrites a check box control on the text selection.
		/// </summary>
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly", MessageId = "Checkbox")]
		InsertInputCheckbox,
		/// <summary>
		/// Overwrites a file upload control on the text selection.
		/// </summary>
		InsertInputFileUpload,
		/// <summary>
		/// Inserts a hidden control on the text selection.
		/// </summary>
		InsertInputHidden,
		/// <summary>
		/// Overwrites an image control on the text selection.
		/// </summary>
		InsertInputImage,
		/// <summary>
		/// Overwrites a password control on the text selection.
		/// </summary>
		InsertInputPassword,
		/// <summary>
		/// Overwrites a radio control on the text selection.
		/// </summary>
		InsertInputRadio,
		/// <summary>
		/// Overwrites a reset control on the text selection.
		/// </summary>
		InsertInputReset,
		/// <summary>
		/// Overwrites a submit control on the text selection.
		/// </summary>
		InsertInputSubmit,
		/// <summary>
		/// Overwrites a text control on the text selection.
		/// </summary>
		InsertInputText,
		/// <summary>
		/// Overwrites an empty marquee on the text selection.
		/// </summary>
		InsertMarquee,
		/// <summary>
		/// Toggles the text selection between an ordered list and a normal format block.
		/// </summary>
		InsertOrderedList,
		/// <summary>
		/// Overwrites a line break on the text selection.
		/// </summary>
		InsertParagraph,
		/// <summary>
		/// Overwrites a drop-down selection control on the text selection.
		/// </summary>
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly")]
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly", MessageId = "Dropdown")]
		InsertSelectDropdown,
		/// <summary>
		/// Overwrites a list box selection control on the text selection.
		/// </summary>
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Listbox")]
		InsertSelectListbox,
		/// <summary>
		/// Overwrites a multiline text input control on the text selection.
		/// </summary>
		InsertTextArea,
		/// <summary>
		/// Toggles the text selection between an ordered list and a normal format block.
		/// </summary>
		InsertUnorderedList,
		/// <summary>
		/// Toggles the current selection between italic and nonitalic.
		/// </summary>
		Italic,
		/// <summary>
		/// Centers the format block in which the current selection is located.
		/// </summary>
		JustifyCenter,
		/// <summary>
		/// Not currently supported.
		/// </summary>
		JustifyFull,
		/// <summary>
		/// Left-justifies the format block in which the current selection is located.
		/// </summary>
		JustifyLeft,
		/// <summary>
		/// Not currently supported.
		/// </summary>
		JustifyNone,
		/// <summary>
		/// Right-justifies the format block in which the current selection is located.
		/// </summary>
		JustifyRight,
		/// <summary>
		/// Causes the MSHTML Editor to update an element's appearance continuously during a resizing or moving operation, rather than updating only at the completion of the move or resize.
		/// </summary>
		LiveResize,
		/// <summary>
		/// Allows for the selection of more than one site selectable element at a time when the user holds down the SHIFT or CTRL keys.
		/// </summary>
		MultipleSelection,
		/// <summary>
		/// Not currently supported.
		/// </summary>
		Open,
		/// <summary>
		/// Decreases by one increment the indentation of the format block in which the current selection is located.
		/// </summary>
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Outdent")]
		Outdent,
		/// <summary>
		/// Toggles the text-entry mode between insert and overwrite.
		/// </summary>
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly")]
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "OverWrite")]
		OverWrite,
		/// <summary>
		/// Overwrites the contents of the clipboard on the current selection.
		/// </summary>
		Paste,
		/// <summary>
		/// Not currently supported.
		/// </summary>
		PlayImage,
		/// <summary>
		/// Opens the print dialog box so the user can print the current page.
		/// </summary>
		Print,
		/// <summary>
		/// Redoes the last operation to be undone by the <c>Undo</c> command.
		/// </summary>
		Redo,
		/// <summary>
		/// Refreshes the current document.
		/// </summary>
		Refresh,
		/// <summary>
		/// Removes the formatting tags from the current selection.
		/// </summary>
		RemoveFormat,
		/// <summary>
		/// Not currently supported.
		/// </summary>
		RemoveParaFormat,
		/// <summary>
		/// Saves the current Web page to a file.
		/// </summary>
		SaveAs,
		/// <summary>
		/// Selects the entire document.
		/// </summary>
		SelectAll,
		/// <summary>
		/// Not currently supported.
		/// </summary>
		SizeToControl,
		/// <summary>
		/// Not currently supported.
		/// </summary>
		SizeToControlHeight,
		/// <summary>
		/// Not currently supported.
		/// </summary>
		SizeToControlWidth,
		/// <summary>
		/// Not currently supported.
		/// </summary>
		Stop,
		/// <summary>
		/// Not currently supported.
		/// </summary>
		StopImage,
		/// <summary>
		/// Toggles the current selection between strikeout and not strikeout.
		/// </summary>
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly")]
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly", MessageId = "StrikeThrough")]
		StrikeThrough,
		/// <summary>
		/// Not currently supported.
		/// </summary>
		Subscript,
		/// <summary>
		/// Not currently supported.
		/// </summary>
		Superscript,
		/// <summary>
		/// Removes any bookmark from the current selection.
		/// </summary>
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Un")]
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1706:ShortAcronymsShouldBeUppercase", MessageId = "Member")]
		UnBookmark,
		/// <summary>
		/// Toggles the current selection between underlined and not underlined.
		/// </summary>
		Underline,
		/// <summary>
		/// Undoes the last operation to be performed.
		/// </summary>
		Undo,
		/// <summary>
		/// Removes any hyperlink from the current selection.
		/// </summary>
		Unlink,
		/// <summary>
		/// Clears the current selection.
		/// </summary>
		Unselect, 
		#endregion

		#region C++
		/// <summary>
		/// Displays glyphs to show the location of all tags in a document.
		/// This constant represents the <c>IDM_SHOWALLTAGS</c> command identifier.
		/// </summary>
		ShowAllTags
		#endregion
	}
}
